The present invention relates generally to systems and methods for graphics rendering, and more particularly to a system and method for rendering a particle-based fluid surface.
For interactive scenes, particle-based fluid simulation methods like Smoothed-Particle Hydrodynamics (or SPH) are commonly preferred to grid-based fluid simulation methods. Particle-based fluid representation permits fluid flow throughout the scene without the need to define a grid over the scene area, which would be costly in memory and computation. It is also more convenient to integrate into existing physics infrastructure, as particles can collide against the scene geometry just like other objects.
However, a drawback with particle-based fluid simulation is it is difficult to extract a surface for rendering. In some conventional techniques, the fluid surface is constructed in world-space, either as a mesh directly or as an implicit surface, and then polygonized using Marching Cubes or other similar methods. After this, relaxation and optimization operations can be applied to the entire mesh to reduce the bumpiness of the surface, which is computationally and memory intensive.
Likewise, implicit surface polygonization methods also suffer from grid discretization artifacts in frame-to-frame coherence, as the grid is static and does not move with the fluid. This is especially visible at low-resolution grids, whereas using high-resolution grids can prohibit real-time visualizations, because evaluating the metaball densities at each grid point is expensive. For acceptable visual quality, the grid must be much finer than the particle spacing. The need for a fixed grid also restricts the fluid to a box, whereas not having this restriction is one of the reasons for choosing particle-based fluid surface rendering.
Accordingly, a new particle-based fluid surface rendering technique is needed to overcome the aforementioned disadvantages.